home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / turbovis / tvtool17.zip / FILEVIEW.H < prev    next >
C/C++ Source or Header  |  1993-09-23  |  2KB  |  85 lines

  1. /*---------------------------------------------------------*/
  2. /*                                                         */
  3. /*   Fileview.h:  Header file for fileview.cpp.            */
  4. /*---------------------------------------------------------*/
  5.  
  6. #if ! defined(__FILEVIEW_H) && defined(Uses_TFileView)
  7. #define __FILEVIEW_H
  8.  
  9. class TLineCollection : public TCollection
  10. {
  11.  
  12. public:
  13.  
  14.     TLineCollection(short lim, short delta) : TCollection(lim, delta) {}
  15.     virtual void  freeItem(void *p) { delete p; }
  16.  
  17. private:
  18.  
  19.     virtual void *readItem( ipstream& ) { return 0; }
  20.     virtual void writeItem( void *, opstream& ) {}
  21.  
  22. };
  23.  
  24. class TFileViewer : public TScroller
  25. {
  26.  
  27. public:
  28.  
  29.     char *fileName;
  30.     TCollection *fileLines;
  31.     Boolean isValid;
  32.     TFileViewer( const TRect& bounds,
  33.                  TScrollBar *aHScrollBar,
  34.                  TScrollBar *aVScrollBar,
  35.                  const char *aFileName
  36.                );
  37.     ~TFileViewer();
  38.     TFileViewer( StreamableInit ) : TScroller(streamableInit) { };
  39.     void draw();
  40.     void readFile( const char *fName );
  41.     void setState( ushort aState, Boolean enable );
  42.     void scrollDraw();
  43.     Boolean valid( ushort command );
  44.  
  45. private:
  46.  
  47.     virtual const char *streamableName() const
  48.         { return name; }
  49.  
  50. protected:
  51.  
  52.     virtual void write( opstream& );
  53.     virtual void *read( ipstream& );
  54.  
  55. public:
  56.  
  57.     static const char * const name;
  58.     static TStreamable *build();
  59.  
  60. };
  61.  
  62. class TFileWindow : public TWindow
  63. {
  64.  
  65. public:
  66.  
  67.     TFileWindow( const char *fileName );
  68.  
  69. };
  70.  
  71.  
  72. class TFileViewDialog : public TDialog
  73. {
  74.  
  75. public:
  76.  
  77.     TFileViewDialog( const char *fileName );
  78.  
  79. };
  80.  
  81. const int maxLineLength = 256;
  82.  
  83. #endif
  84.  
  85.